

**********************************************************
**********************************************************
*														 * 
*	REPLICATION CODE FOR CROSS-NATIONAL ANALYSIS		 *
*	OF COMPLAW DATA IN GABEL, CARRUBBA, HELMKE, MARTIN,  *
*   STATON, WARD AND ZIEGLER							 *
*                                                        *
*	DATE: MARCH 18, 2024                                 *
*	STATA 18                                             *
**********************************************************


***********
* DATASET * 
***********

use "crossnationalcomplawreplication.dta"


**********************************************************
*            VARIABLE DEFINITIONS                        * 
**********************************************************

* largemissingdata:  coded (1) for courts with substantial missing data about the age of the legislation under review, and coded (0) otherwise.

*countryid: numeric code for country of court, with distinct countryids for courts in countries with multiple peak courts exercising judicial review. See codebook for complaw dataset.

*countryname: name of country of court, with distinct countryids for courts in countries with multiple peak courts exercising judicial review.

*exantereview: coded (1) for rulings under an ex ante review procedure, and coded (0) otherwise.

*courtswithexanteandexpost: coded (1) for courts that exercised ex ante and expost abstract review in 2003, and coded (0) otherwise.

*docketnumber: the docketnumber of the case for the policy under review.

*earlyabstractreview: coded (1) for rulings made under abstract review of policies adopted in 2001,2002 or 2003, and coded (0) otherwise.

*abstractcourt: coded (1) for courts that exercised abstract review in 2003, and coded (0) otherwise. 

*strike: coded (1) if the court struck the policy as unconstitutional, and coded (0) otherwise. 

******************************
*							 *
*		ANALYSIS			 * 
*							 *
******************************

xtset countryid


***************************
*        Model 1          *
***************************

*This model includes random effects for courts
 
xtlogit strike exantereview, re vce(r)

* This is the same model but reports reports odds ratios 

xtlogit strike exantereview, or re vce(r)

***************************
*        Model 2          *
***************************

*Thest two models include only courts that can exercise ex ante and ex post review 

logit strike exantereview i.countryid if courtswithexanteandexpost==1, cluster(docketnumber)

*This is the same model but reports odds ratios

logit strike exantereview i.countryid if courtswithexanteandexpost==1, or cluster(docketnumber)

***************************
*        MODEL 3          *
***************************


*Thest two models include only courts that can exercise ex ante and ex post review and did not have substantial missing data about the age of the legislation under review

logit strike exantereview i.countryid if courtswithexanteandexpost==1 & largemissingdata==0, cluster(docketnumber)

*This is the same model but reports odds ratios

logit strike exantereview i.countryid if courtswithexanteandexpost==1 & largemissingdata==0, or cluster(docketnumber)

***************************
*         MODEL 4         *
***************************

xtlogit strike earlyabstractreview, re vce(r)

*This is the same model but reports odds ratios

xtlogit strike earlyabstractreview, or re vce(r)

***************************
*         MODEL 5         *
***************************

*Thest two models include only courts that can exercise early abstract review and ex post review and did not have substantial missing data about the age of the legislation under review


logit strike earlyabstractreview i.countryid if countryid~=74 & abstractcourt==1, cluster(docketnumber)

*This is the same model but reports odds ratios

logit strike earlyabstractreview i.countryid if countryid~=74 & abstractcourt==1, or cluster(docketnumber)

***************************
*         MODEL 6         *
***************************

*the French Constitutional Court (coutnryid==74) is dropped because it only exercised ex ante review in 2003

*Thest two models include only courts that can exercise early abstract review and ex post review and did not have substantial missing data about the age of the legislation under review


logit strike earlyabstractreview i.countryid if largemissingdata==0 & countryid~=74 & abstractcourt==1, cluster(docketnumber)

*This is the same model but reports odds ratios

logit strike earlyabstractreview i.countryid if largemissingdata==0 & countryid~=74 & abstractcourt==1, or cluster(docketnumber)

